不囉嗦直接上圖
這個階段是我們在 Line developer 後台填入卡米狗的通訊地址,然後按下送出。
這個階段是當有人使用 Line 傳訊息給卡米狗所在的群組,就會收到通知。Line 會把這樣的訊息傳到我們設定好的通訊地址。
這個階段是卡米狗回應群組訊息,卡米狗會把訊息傳給 Line ,然後 Line 再幫我們傳到群組。
所以 Line 扮演的就只是個傳話的工具人。
以上就是一個完整的 Line Messaging API Webhook 運作原理,每一張圖都代表了一次 HTTPS 協定的傳輸(一個 HTTPS Request + 一個 HTTPS Response),在這裡你可以注意到全部的回應都是「好哦~好哦~」,這是表示簽收包裹的意思。
圖中的#01、#02表示一個代號,用來做識別用,同一個用戶會有同一個代號。就跟唐伯虎的代號叫9527一樣,在我們這裡不稱呼你為唐伯虎。
沒有,沒有這種通知,所以沒辦法在有人加入群組時讓卡米狗跟他打招呼。
因為 Line 不給的,你不能拿。
其實這邊的好友是聊天機器人之友。他不一定有加你好友,只要他有加任何一個 Line 聊天機器人好友,你就能知道他是誰。
以下就用私聊示範各種訊息類型:
Beacon 是一種感測設備,如果你的手機有開啟定位功能,接近 Beacon 時,就可以被偵測到。這技術被用來做微定位,位置訊息的誤差值很大而且在室內還有可能無法定位。若在一個室內安裝足夠多的 Beacon,就能得知這隻手機的準確位置。
在你傳送含有按鈕的訊息給用戶後,若用戶點擊了按鈕,你就會收到 Postback 訊息。
以上全部的「好哦~好哦~」都只是簽收而已,還沒有回應訊息,下面才會講怎麼回應訊息。
能做的事情蠻多的,詳細的以後有空再講。今天先講幾個重要的就好。
使用回郵信封(Reply Token)就可以不用花錢,在現實世界中是這樣運作的,在 Line Messaging API 也是如此。當你獲得一個回郵信封時,你必須在30秒之內寄出回應。因為回郵信封會在 30 秒之後失效。如果你在失效之後才寄出信, Line 就不會幫你傳話。如果你不使用回郵信封,就得買郵票。
準確地說,Line 允許你回應訊息(Reply Message),但是不允許你主動發訊息(Push Message)。如果你想要主動傳訊息就得付錢。那麼到底要付多少錢呢?他是包月制的,如果你在建立聊天機器人的時候選擇 Develop Trail (試用版),那就還是不用錢。但如果你選擇的是 Free (免費版),免費版要先升級成進階版才能用。顆顆,你每個月至少要給 Line 台幣 $3888元。
超貴 der。
一次最多可以傳出 5 則訊息。
單一訊息你最多可以傳 2000 個字。
回覆訊息(Reply Message)的情況:
使用回郵信封(Reply Token)時,不需要指名傳給誰。
主動傳訊(Push Message)的情況:
不使用回郵信封(Reply Token)時,就必須指定要把訊息傳送到哪裡。
一個新的 Line 帳號有四套貼圖可以用。你的 Line 帳號也有這四套貼圖,就是饅頭人、熊大那些。聊天機器人只能傳送這四套貼圖裡的貼圖,不能傳其他的貼圖。所以我覺得沒什麼搞頭。
你可以拿有加你好友的用戶代碼去查詢用戶資料,你可以獲得他的暱稱、大頭照網址、狀態。
你可以拿代碼再去查詢內容。你可能會問他為什麼不一開始就給你?因為這些東西比較重,而且你不一定用到,或者你家可能已經有一個一樣的東西。一切都是為了效率R~
其實哪有這麼爽,做聊天機器人這麼容易的話,大家早就做一堆了。
上面講的全都是擬人化之後的東西,實際上是這樣:
當有人私訊卡米狗時,Line 傳來的通知其實是長這樣:
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "text",
"text": "Hello, world"
}
}
請保持耐心地讀完,容我簡單說明一下。
因為傳遞結構化的資料,對於後續處理上來說會比較有效率,所以我們(工程師)通常這麼說話。
從 Line 傳來的訊息其實是:
簡單一點的結構化:
用人話來說:
卡米狗傳回的其實是長這樣:
http_status_code:200
用人話來說:
因為很重要,所以說三次,這是表示簽收,不是回覆私訊。
你若有心要學作卡米狗的話,就得慢慢看懂這些東西。
雖然這些東西會越來越硬,但我會很溫柔。
最一開始有提到訂閱階段,你必須要給 Line 你家地址,他才有辦法寄通知來。
但是你家是一個網站。你有發現問題嗎?
問題是你沒有家。
怎麼辦?
這表示你需要蓋一個自己的家。
明天會講架一個網站需要哪些東西。
講解的很用心
可是老實講 我真的看不懂
再犯力中
到底我們是講給卡米狗還是LINE聽?
回應我們又是卡米狗還是LINE?
還是範例中有些卡米狗是代表著我們的意思?
這些傳遞者的角色 是否有一張圖可以表示
這樣會更簡潔一點?
看圖示阿 line 就是 line 卡米狗就是卡米狗 這裏完全沒有出現使用者
那是誰輸入訊息呢
輸入訊息的人沒有出現在本篇文的圖中,你可以參考這篇的圖:https://ithelp.ithome.com.tw/articles/10197544
謝謝郭